package com.kinghood.productcenter.dao.base;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kinghood.productcenter.common.model.dao.base.BaseProductTemplateDO;
import com.kinghood.productcenter.common.model.dao.base.BaseProductTemplateGroupDO;
import com.kinghood.productcenter.common.model.dto.base.ListTemplateQueryDTO;
import com.kinghood.productcenter.common.model.dto.product.ProductTemplateAttributeDTO;
import com.kinghood.productcenter.common.model.vo.base.TemplateListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 基础选项-模板 Mapper 接口
 * </p>
 *
 * @author KingHood
 * @since 2023-12-20
 */
public interface BaseProductTemplateMapper extends BaseMapper<BaseProductTemplateDO> {

    /**
     * 获取模板组
     *
     * @param productTemplateId 模板id
     * @return 模板数据
     * @author zfj
     * @date 2023/12/26
     */
    List<BaseProductTemplateGroupDO> getGroupByTemplateId(@Param("productTemplateId") Long productTemplateId);

    /**
     * 获取模板组
     *
     * @param productTemplateId 模板id
     * @return 模板数据
     * @author zfj
     * @date 2023/12/26
     */
    List<ProductTemplateAttributeDTO> getAttributeListByTemplateId(@Param("productTemplateId") Long productTemplateId);


    /**
     * 分页模板
     *
     * @param page  页
     * @param param 参数
     * @return @return {@link Page }<{@link TemplateListVO }>
     * @author jp
     * @date 2024/01/29 17:43
     */
    Page<TemplateListVO> pageTemplate(Page<Object> page,@Param("param") ListTemplateQueryDTO param);
}
